package com.info.zhiduoduo.repository.entity.partner;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author bob
 * @since 2021-01-24
 */
@Data
@Accessors(chain = true)
@TableName("zdd_partner_company_monthly_crowd_cost")
public class PartnerCompanyMonthlyCrowdCost extends Model<PartnerCompanyMonthlyCrowdCost> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 成本分成月份
     */
    private Date month;
    /**
     * 合伙人每月成本记录id
     */
    @TableField("partner_cost_id")
    private Integer partnerCostId;
    /**
     * 合伙人id
     */
    private Integer partnerid;
    /**
     * 自己或下级合伙人 1:自己 2:下级
     */
    private Integer sub;
    /**
     * 企业id
     */
    private Integer compid;
    /**
     * 是否开启保证金 1:否 2:是
     */
    @TableField("deposit_flag")
    private Integer depositFlag;
    /**
     * 企业基础税率
     */
    @TableField("base_tax_rate")
    private Double baseTaxRate;
    /**
     * 保证金比例
     */
    @TableField("deposit_rate")
    private Double depositRate;
    /**
     * 第二档保证金月度金额
     */
    @TableField("secondary_monthly_amount")
    private BigDecimal secondaryMonthlyAmount;
    /**
     * 第二档保证金比例
     */
    @TableField("secondary_deposit_rate")
    private Double secondaryDepositRate;
    /**
     * 企业总交易额(不含税)
     */
    @TableField("project_amount")
    private BigDecimal projectAmount;
    /**
     * 企业总已收税费
     */
    @TableField("project_taxfee")
    private BigDecimal projectTaxfee;
    /**
     * 实际保证金比例
     */
    @TableField("actual_deposit_rate")
    private Double actualDepositRate;
    /**
     * 自己的或者下级合伙人的实际众包成本比例, 根据sub确认
     */
    @TableField("actual_crowd_cost_rate")
    private Double actualCrowdCostRate;
    /**
     * 自己: 实际分成利润比例 = 企业基础服务费率 - 实际保证金率 - 自己实际众包成本比例
     * 下级合伙人: 实际分成利润比例 = 下级合伙人的众包成本比例 - 自己的实际众包成本比例
     */
    @TableField("actual_profit_rate")
    private Double actualProfitRate;
    /**
     * 众包分成利润 = 企业总交易额(不含税) * 实际分成利润比例
     */
    private BigDecimal profit;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
